/* Copyright (c) 2021-2025 Qualcomm Technologies International, Ltd. */
/* %%version */

#ifndef VCP_COMMON_H_
#define VCP_COMMON_H_

#include "gatt_vcs_client.h"

#include "vcp.h"
#include "vcp_private.h"

/***************************************************************************
NAME
    vcpIsValidVocsInst

DESCRIPTION
    Check if the service handle provided is a valid one for a VOCS client instance.
*/
bool vcpIsValidVocsInst(VCP *vcp_inst, ServiceHandle srvc_hndl);

/***************************************************************************
NAME
    vcpIsValidAicsInst

DESCRIPTION
    Check if the service handle provided is a valid one for a AICS client instance.
*/
bool vcpIsValidAicsInst(VCP *vcp_inst, ServiceHandle srvc_hndl);

/***************************************************************************
NAME
    vocsInitQueueInst/vocsDeInitQueueInst/aicsInitQueueInst/aicsDeInitQueueInst

DESCRIPTION
    helper functions to be called during element addition and deletion in the respective list
*/

void vocsInitQueueInst(CsrCmnListElm_t *elem);
void vocsDeInitQueueInst(CsrCmnListElm_t *elem);

void aicsInitQueueInst(CsrCmnListElm_t *elem);
void aicsDeInitQueueInst(CsrCmnListElm_t *elem);
#endif
